package UI;

import javax.swing.*;

/*
* 这个类所有UI的统一基本设置
* 是为了方便构造窗口而默认设置了许多参数
* 所有界面只需要继承JFame类并在构造方法里调用此类的构造方法
* 并在重写方法里根据各自窗口的需求来改变各种参数
* 比如窗口大小 标题 位置 居中等
* */

public abstract class WholeUI extends JFrame {

    //构造方法
    public WholeUI(JFrame jFrame){
        loadWindow(jFrame);//初始化的窗口
        elseWindow(jFrame);//重写后的窗口设置(窗口大小 标题 位置 居中等)

    }

    protected void loadWindow(JFrame jFrame) {
        //设置尺寸
        jFrame.setSize(500, 500);
        jFrame.setTitle("**界面");
        //设置窗口置顶
        jFrame.setAlwaysOnTop(false);
        //设置界面居中
        jFrame.setLocationRelativeTo(null);
        //设置关闭模式
        jFrame.setDefaultCloseOperation(3);  //0无法关闭1关闭就是隐藏2关全部才退出3关一个就退出
        //取消默认的居中放置,这样才能按照xy坐标添加组件
        jFrame.setLayout(null);
        //显示
        jFrame.setVisible(true);
    }

    abstract protected void elseWindow(JFrame jFrame);  //抽象方法,子类继承时可以根据需要重写窗口的设置比如 大小 标题 位置 居中 等(格式直接参考本类构造方法)
}
